Many electronic devices are based on modules made by combining a number of components on a printed circuit board or other substrate. Examples are personal computer motherboards, fax modem add-on boards, memory modules (e.g., DRAM, SDRAM), and device controller boards. For various reasons, it is important to be able to automatically and efficiently identify, throughout the manufacturing process, the individual components that are combined to form an electronic module. The assigned identifier can then serve as the key or label for (or in) one or more files (usually electronic) that relate to the individual component. For example, after components have been installed into a module, it may be desirable to program individual component test information into the module as part of the manufacturing process or to track components for quality control purposes. Therefore, the particular components utilized for the module must be identified in order for their specific test information to be stored and then located for programming into the module or for certain quality control studies to be done.
Some manufacturers apply a barcode label containing an identification number during the initial testing stage of each component to identify it. Each component's test information is then saved against its barcode identification number in a database. During module assembly, component barcode labels are scanned and the stored test information linked to these scanned barcode identifiers is then retrieved and applied to the module. This component identification and information retrieval method is effective; however, the required added step of applying barcodes to the components makes the process less efficient within the production environment. This form of identification can also fail if the barcode label is lost, obscured or sufficiently damaged.
In another identification scheme, the necessary test information may be linked to an identifier number that is incorporated into the component's fuse identification number. This identifier number can later be read during module assembly. The component test information linked to this identifier can then be downloaded into a module programmer or for other uses. Unfortunately, however, a limited number of component manufacturers utilize fuse identification. Therefore, this identification/information retrieval scheme is only effective for a qualified homogeneous set of components; thus, an acceptable "batch" of interchangeable components could not include components supplied from a variety of manufacturers.
When the electronic component is a memory component, some manufacturers use a portion of the component's bit defect map as a unique `fingerprint` for identification of the particular component. In order to identify the component, a bit error check on the appropriate addresses is performed. The resulting bit error map can then be utilized as an identifier to store and retrieve the entire test information file for the component from a database. No label is added to the component. A drawback of this identification method, however, is that, particularly with low error rate components, a relatively large number of bit locations must be used for the partial bit map identifier in order to produce a unique `fingerprint` for each component. Thus, with this scheme, excessive time is required for initial or subsequent identification of a given component. Further, being based on errors, it does not work for devices with no defects or for devices with a low bit count where there may exist no real or distinct pattern of bit-level errors.
Accordingly, what is needed in the art is an efficient electronic component identification scheme that does not require the addition or existence of external identification material and works for a wide variety of components.